#include <stdio.h>
#include <string.h>

/* -----------------------------------------------------
/* El deltatime de midi se guarda en un formato de datos variables.
/*
/* Una serie de bytes que tienen el bit 8 a 1 salvo el ultimo
/* Ejemplos: 0x9a 0xf1 0x0a, 0xa3 0xb3 0x01, 0x0a
/* El byte con el bit 8 a 0 es el ultimo.
/* 
/* El numero resultante es un base 128 de los bytes (quitando el bit 8) 
/* Por ejemplo si son 3 bytes, el numero resultante es :
/* 128*128*primero + 128*segundo + tercero
/* -----------------------------------------------------


/* Retorna el numer de Bytes de un dato variable, esta en un define, y su valor es 5, como requiere el protocolo del fichero midi */

int midiReadMaxBytes(void);


/* Dada la cadena ptr, se devuelve un numero DWORD, y RETORNA la cantidad de bytes de la cadena(no chequea ningun error) */
int midiReadVarLen(unsingned char *ptr, unsigned long *num, int ilen);


/* byte a byte(ptr) se lee un deltatime, cuando empezamos el cestado ha de ser 0   y luego 1 hasta que acaba. El resultado lo tendremos en num, cuantdo termina el deltatime. ilen es el numero de bytes leidos . El RETORNO es 0 si no se ha acabado el varlen y 1 cuando ha terminado. No modificar num e ilen durante el proceso */
/* atención cuando cestado es 0, no se lee el caracter, por lo que puede ser cualquier cosa */
char midiStreamReadVarLen(unsigned char ptr, char cestado,unsigned long *num,int *ilen);



/* Escribe un array en (ptr) como varlen el numero (num) y RETORNA el numero de bytes escritos
IMPORTANTE, el numero de caracteres maximo es  midiReadMaxBytes(void);
 */
int midiWriteVarLen(unsigned long num,unsigned char *ptr);

